A dynamic system (either natural or man-made) is a system whose response at any given time is a function of its input stimuli, its current state, and the current time. Such systems range from simple to highly complex systems. Physical dynamic systems include a falling body, the rotation of the earth, bio-mechanical systems (muscles, joints, etc.), bio-chemical systems (gene expression, protein pathways), weather and climate pattern systems, etc. Examples of man-made or engineered dynamic systems include: a bouncing ball, a spring with a mass tied on an end, automobiles, airplanes, control systems in major appliances, communication networks, audio signal processing, nuclear reactors, a stock market, etc.
Professionals from diverse areas such as engineering, science, education, and economics build mathematical models of dynamic systems in order to better understand system behavior as it changes with the progression of time. The mathematical models aid in building “better” systems, where “better” may be defined in terms of a variety of performance measures such as quality, time-to-market, cost, speed, size, power consumption, robustness, etc. The mathematical models also aid in analyzing, debugging and repairing existing systems (be it the human body or the anti-lock braking system in a car). The models may also serve an educational purpose of educating others on the basic principles governing physical systems. The models and results are often used as a scientific communication medium between humans. The term “model-based design” is used to refer to the use of graphical models in the development, analysis, and validation of dynamic systems.
Dynamic systems are typically modeled in simulation environments as sets of differential, difference, and/or algebraic equations. At any given instant of time, these equations may be viewed as relationships between the system's output response (“outputs”), the system's input stimuli (“inputs”) at that time, the current state of the system, the system parameters, and time. The state of the system may be thought of as a numerical representation of the dynamically changing configuration of the system. For instance, in a physical system modeling a simple pendulum, the state may be viewed as the current position and velocity of the pendulum. Similarly, a signal-processing system that filters a signal would maintain a set of previous inputs as the state. The system parameters are the numerical representation of the static (unchanging) configuration of the system and may be viewed as constant coefficients in the system's equations. For the pendulum example, a parameter is the length of pendulum and for the filter example; a parameter is the values of the filter taps.
In practice, except for the most basic systems, mathematical models for dynamic systems involve a complex set of mathematical transformations applied in some prescribed manner with the outputs of some transformations forming the inputs of others. Each elemental transformation may be viewed in isolation as a simple dynamic system falling into one of the categories listed above. Therefore, a complex dynamic system may be modeled as an interconnection of various simple dynamic systems.
A schematic representation of such an interconnection that has evolved over the years is the graphical model. Such graphical models have now become a standard means in textbooks, design papers, journal articles, and specifications to communicate the details of a dynamic system's behavior. Various classes of graphical models describe computations that can be performed on computational hardware, such as a computer, microcontroller, FPGA, and custom hardware. Classes of such graphical models include time-based block diagrams, such as those found within Simulink®, from The MathWorks, Inc. of Natick, Mass., state-based and flow diagrams, such as those found within Stateflow®, from The MathWorks, Inc. of Natick, Mass., data-flow diagrams, circuit diagrams, and software diagrams, such as those found in the Unified Modeling Language. A common characteristic among these various forms of graphical models is that they define semantics on how to execute the model.
Generally, graphical analysis and simulation methods, such as the block diagram method, are used in modeling for design, analysis, and synthesis of engineered systems. The visual representation allows for a convenient interpretation of model components and structure and provides a quick intuitive notion of system behavior.
Conventional simulation models become more complex as models are developed that model more complex systems. Hundreds of thousands of blocks that represent primitive and aggregate mathematical operations may be present. To manage the complexity of such models, principles of partitioning, abstraction, and hierarchy are applied.
In addition to graphical based modeling or simulation, other applications can be utilized to model a system, such as a control system or dynamic system. For example, MATLAB®, provided by The Mathworks, Inc. of Natick, Mass., is an interactive programming and interpretive application that can implement a variety of computing tasks in engineering and science, while also having the ability to execute other executable programs. Some of the tasks that MATLAB® can perform range from data acquisition and analysis to application development. The MATLAB® environment integrates mathematical computing, visualization, and technical programming language. MATLAB® includes built-in interfaces that provide access and import data from instruments, files, and external databases and programs.
In addition, MATLAB® can integrate external routines written in C, C++, Fortran, and Java with MATLAB® applications. As such, MATLAB® provides an example of interactive programming and interpretive environments that can work in conjunction with C routines provided external to MATLAB®, including those provided by third party providers.
Turning now to control systems, specifically feedback control systems, such systems can be designed and modeled based on conventional graphical model methodology. For example, FIG. 1 illustrates a basic controller sequence modeled using a graphical model format. There is a reference “u” provided to a controller 500 that controls an operation in a plant 502. This results in an output “y”, which is both output and communicated back to a Sum operation 504 for input to the controller 500.
However, in real world applications a model of a plant and corresponding controller(s) is far more complex. Most control systems are MIMO (multi-input multi-output) in nature. While direct MIMO methods exist, they tend to require a centralized, lumped, compensator, which is often impractical in real-world applications. Accordingly, the alternative configuration often utilized is a plurality of decentralized multi-loop SISO compensators, such as a PID controller. FIG. 2 is an illustration of a more likely model of plant operations, and the various controllers and variables that may be encountered in a simulation. A plant 510 has a first controller 512, a second controller 514, up to “n” controllers 516. There are multiple inputs to the first, second, and n controllers 512, 514, and 516 in the form of a first reference 518, a second reference 520, operating conditions 522, a first disturbance 524, and a second disturbance 526. The controllers 512, 514, and 516 control the plant 510 and produce a first output 528 and a second output 530. The behavior of the control system is dependent upon multiple inputs, complex operating conditions, multiple control elements, and multiple output signals. The plant 510 is nonlinear. To use corresponding language, there are a plurality of single input single output (SISO) controllers, feedback loops, or compensators, that must be designed and subsequently tuned in complex control systems. In such a situation, engineers are forced to design control systems and portions of control systems without taking into account dynamics that result from a change in SISO inputs across the entire plant 510. It would be more efficient and desirable to be able to model the feedback of specified inputs to SISO controllers across a larger complex control system, such as the one modeling the plant 510, so that a more accurate dynamic system model can be achieved.